home *** CD-ROM | disk | FTP | other *** search
- package java.util;
-
- import java.io.IOException;
- import java.io.InputStream;
- import java.net.JarURLConnection;
- import java.net.URL;
- import java.net.URLConnection;
- import java.security.AccessController;
- import java.security.PrivilegedActionException;
- import java.util.ResourceBundle.NoFallbackControl;
- import java.util.ResourceBundle.SingleFormatControl;
- import java.util.jar.JarEntry;
-
- public class ResourceBundle$Control {
- public static final List<String> FORMAT_DEFAULT = Collections.unmodifiableList(Arrays.asList("java.class", "java.properties"));
- public static final List<String> FORMAT_CLASS = Collections.unmodifiableList(Arrays.asList("java.class"));
- public static final List<String> FORMAT_PROPERTIES = Collections.unmodifiableList(Arrays.asList("java.properties"));
- public static final long TTL_DONT_CACHE = -1L;
- public static final long TTL_NO_EXPIRATION_CONTROL = -2L;
- private static final ResourceBundle$Control INSTANCE = new ResourceBundle$Control();
-
- protected ResourceBundle$Control() {
- }
-
- public static final ResourceBundle$Control getControl(List<String> var0) {
- if (var0.equals(FORMAT_PROPERTIES)) {
- return SingleFormatControl.access$800();
- } else if (var0.equals(FORMAT_CLASS)) {
- return SingleFormatControl.access$900();
- } else if (var0.equals(FORMAT_DEFAULT)) {
- return INSTANCE;
- } else {
- throw new IllegalArgumentException();
- }
- }
-
- public static final ResourceBundle$Control getNoFallbackControl(List<String> var0) {
- if (var0.equals(FORMAT_DEFAULT)) {
- return NoFallbackControl.access$1000();
- } else if (var0.equals(FORMAT_PROPERTIES)) {
- return NoFallbackControl.access$1100();
- } else if (var0.equals(FORMAT_CLASS)) {
- return NoFallbackControl.access$1200();
- } else {
- throw new IllegalArgumentException();
- }
- }
-
- public List<String> getFormats(String var1) {
- if (var1 == null) {
- throw new NullPointerException();
- } else {
- return FORMAT_DEFAULT;
- }
- }
-
- public List<Locale> getCandidateLocales(String var1, Locale var2) {
- if (var1 == null) {
- throw new NullPointerException();
- } else {
- String var3 = var2.getLanguage();
- String var4 = var2.getCountry();
- String var5 = var2.getVariant();
- ArrayList var6 = new ArrayList(4);
- if (var5.length() > 0) {
- var6.add(var2);
- }
-
- if (var4.length() > 0) {
- var6.add(var6.size() == 0 ? var2 : Locale.getInstance(var3, var4, ""));
- }
-
- if (var3.length() > 0) {
- var6.add(var6.size() == 0 ? var2 : Locale.getInstance(var3, "", ""));
- }
-
- var6.add(Locale.ROOT);
- return var6;
- }
- }
-
- public Locale getFallbackLocale(String var1, Locale var2) {
- if (var1 == null) {
- throw new NullPointerException();
- } else {
- Locale var3 = Locale.getDefault();
- return var2.equals(var3) ? null : var3;
- }
- }
-
- public ResourceBundle newBundle(String var1, Locale var2, String var3, ClassLoader var4, boolean var5) throws IllegalAccessException, InstantiationException, IOException {
- String var6 = this.toBundleName(var1, var2);
- Object var7 = null;
- if (var3.equals("java.class")) {
- try {
- Class var8 = var4.loadClass(var6);
- if (!ResourceBundle.class.isAssignableFrom(var8)) {
- throw new ClassCastException(var8.getName() + " cannot be cast to ResourceBundle");
- }
-
- var7 = (ResourceBundle)var8.newInstance();
- } catch (ClassNotFoundException var19) {
- }
- } else {
- if (!var3.equals("java.properties")) {
- throw new IllegalArgumentException("unknown format: " + var3);
- }
-
- String var20 = this.toResourceName(var6, "properties");
- ClassLoader var9 = var4;
- boolean var10 = var5;
- Object var11 = null;
-
- try {
- var21 = (InputStream)AccessController.doPrivileged(new ResourceBundle.Control.1(this, var10, var9, var20));
- } catch (PrivilegedActionException var18) {
- throw (IOException)var18.getException();
- }
-
- if (var21 != null) {
- try {
- var7 = new PropertyResourceBundle(var21);
- } finally {
- var21.close();
- }
- }
- }
-
- return (ResourceBundle)var7;
- }
-
- public long getTimeToLive(String var1, Locale var2) {
- if (var1 != null && var2 != null) {
- return -2L;
- } else {
- throw new NullPointerException();
- }
- }
-
- public boolean needsReload(String var1, Locale var2, String var3, ClassLoader var4, ResourceBundle var5, long var6) {
- if (var5 == null) {
- throw new NullPointerException();
- } else {
- if (var3.equals("java.class") || var3.equals("java.properties")) {
- var3 = var3.substring(5);
- }
-
- boolean var8 = false;
-
- try {
- String var9 = this.toResourceName(this.toBundleName(var1, var2), var3);
- URL var10 = var4.getResource(var9);
- if (var10 != null) {
- long var11 = 0L;
- URLConnection var13 = var10.openConnection();
- if (var13 != null) {
- var13.setUseCaches(false);
- if (var13 instanceof JarURLConnection) {
- JarEntry var14 = ((JarURLConnection)var13).getJarEntry();
- if (var14 != null) {
- var11 = var14.getTime();
- if (var11 == -1L) {
- var11 = 0L;
- }
- }
- } else {
- var11 = var13.getLastModified();
- }
- }
-
- var8 = var11 >= var6;
- }
- } catch (NullPointerException var15) {
- throw var15;
- } catch (Exception var16) {
- }
-
- return var8;
- }
- }
-
- public String toBundleName(String var1, Locale var2) {
- if (var2 == Locale.ROOT) {
- return var1;
- } else {
- String var3 = var2.getLanguage();
- String var4 = var2.getCountry();
- String var5 = var2.getVariant();
- if (var3 == "" && var4 == "" && var5 == "") {
- return var1;
- } else {
- StringBuilder var6 = new StringBuilder(var1);
- var6.append('_');
- if (var5 != "") {
- var6.append(var3).append('_').append(var4).append('_').append(var5);
- } else if (var4 != "") {
- var6.append(var3).append('_').append(var4);
- } else {
- var6.append(var3);
- }
-
- return var6.toString();
- }
- }
- }
-
- public final String toResourceName(String var1, String var2) {
- StringBuilder var3 = new StringBuilder(var1.length() + 1 + var2.length());
- var3.append(var1.replace('.', '/')).append('.').append(var2);
- return var3.toString();
- }
-
- // $FF: synthetic method
- static ResourceBundle$Control access$300() {
- return INSTANCE;
- }
- }
-